'''
All interfaces should be declared here.

@author: Hatem Oraby
'''


class moduleHandler():
    
    def preSwitchContext(self, create = False):
        raise NotImplementedError
        
    def postSwitchContext(self, create = False):
        raise NotImplementedError
        
    def preSwitchOriginal(self, create = False):
        raise NotImplementedError
    
    def postSwitchOriginal(self, create = False):
        raise NotImplementedError

    def runUntilCurrent(self):
        raise NotImplementedError
    
    def timeout(self):
        raise NotImplementedError
    
    def preLoad(self):
        raise NotImplementedError
    
    def load(self):
        raise NotImplementedError
    
    def postLoad(self):
        raise NotImplementedError
    
    def die(self):
        raise NotImplementedError
        
    def setModule(self,moduleHandler):
        raise NotImplementedError
    pass